#include "vm.h"
CF_BEGIN

fr_Obj sys_Obj_trap_f(fr_Env env, fr_Obj self, fr_Obj name, fr_Obj args);
fr_Int sys_Int_fromStr_f(fr_Env env, fr_Obj s, fr_Int radix, fr_Bool checked);
fr_Int sys_Int_random_f(fr_Env env, fr_Obj r);
void sys_Int_privateMake_f(fr_Env env, fr_Int self);
fr_Bool sys_Int_equals_f(fr_Env env, fr_Int self, fr_Obj obj);
fr_Int sys_Int_compare_f(fr_Env env, fr_Int self, fr_Obj obj);
fr_Int sys_Int_negate_f(fr_Env env, fr_Int self);
fr_Int sys_Int_increment_f(fr_Env env, fr_Int self);
fr_Int sys_Int_decrement_f(fr_Env env, fr_Int self);
fr_Int sys_Int_mult_f(fr_Env env, fr_Int self, fr_Int b);
fr_Float sys_Int_multFloat_f(fr_Env env, fr_Int self, fr_Float b);
fr_Int sys_Int_div_f(fr_Env env, fr_Int self, fr_Int b);
fr_Float sys_Int_divFloat_f(fr_Env env, fr_Int self, fr_Float b);
fr_Int sys_Int_mod_f(fr_Env env, fr_Int self, fr_Int b);
fr_Float sys_Int_modFloat_f(fr_Env env, fr_Int self, fr_Float b);
fr_Int sys_Int_plus_f(fr_Env env, fr_Int self, fr_Int b);
fr_Float sys_Int_plusFloat_f(fr_Env env, fr_Int self, fr_Float b);
fr_Int sys_Int_minus_f(fr_Env env, fr_Int self, fr_Int b);
fr_Float sys_Int_minusFloat_f(fr_Env env, fr_Int self, fr_Float b);
fr_Int sys_Int_not_f(fr_Env env, fr_Int self);
fr_Int sys_Int_and_f(fr_Env env, fr_Int self, fr_Int b);
fr_Int sys_Int_or_f(fr_Env env, fr_Int self, fr_Int b);
fr_Int sys_Int_xor_f(fr_Env env, fr_Int self, fr_Int b);
fr_Int sys_Int_shiftl_f(fr_Env env, fr_Int self, fr_Int b);
fr_Int sys_Int_shiftr_f(fr_Env env, fr_Int self, fr_Int b);
fr_Int sys_Int_shifta_f(fr_Env env, fr_Int self, fr_Int b);
fr_Int sys_Int_pow_f(fr_Env env, fr_Int self, fr_Int pow);
fr_Obj sys_Int_toStr_f(fr_Env env, fr_Int self);
fr_Obj sys_Int_toHex_f(fr_Env env, fr_Int self, fr_Int width);
fr_Obj sys_Int_toRadix_f(fr_Env env, fr_Int self, fr_Int radix, fr_Int width);
fr_Obj sys_Int_toChar_f(fr_Env env, fr_Int self);
fr_Obj sys_Int_toCode_f(fr_Env env, fr_Int self, fr_Int base);
fr_Float sys_Int_toFloat_f(fr_Env env, fr_Int self);
fr_Obj sys_Func_call_f(fr_Env env, fr_Obj self, fr_Obj a, fr_Obj b, fr_Obj c, fr_Obj d, fr_Obj e, fr_Obj f, fr_Obj g, fr_Obj h);
fr_Obj sys_BindFunc_call_f(fr_Env env, fr_Obj self, fr_Obj a, fr_Obj b, fr_Obj c, fr_Obj d, fr_Obj e, fr_Obj f, fr_Obj g, fr_Obj h);
fr_Obj sys_Str_format_f(fr_Env env, fr_Obj format, fr_Obj args);
fr_Bool sys_Bool_equals_f(fr_Env env, fr_Bool self, fr_Obj obj);
fr_Bool sys_Bool_not_f(fr_Env env, fr_Bool self);
fr_Bool sys_Bool_and_f(fr_Env env, fr_Bool self, fr_Bool b);
fr_Bool sys_Bool_or_f(fr_Env env, fr_Bool self, fr_Bool b);
fr_Bool sys_Bool_xor_f(fr_Env env, fr_Bool self, fr_Bool b);
void sys_Ptr_make_f(fr_Env env, fr_Ptr self);
fr_Ptr sys_Ptr_stackAlloc_f(fr_Env env, fr_Int size);
fr_Obj sys_Ptr_load_f(fr_Env env, fr_Ptr self);
void sys_Ptr_store_f(fr_Env env, fr_Ptr self, fr_Obj v);
fr_Ptr sys_Ptr_plus_f(fr_Env env, fr_Ptr self, fr_Int b);
void sys_Ptr_set_f(fr_Env env, fr_Ptr self, fr_Int index, fr_Obj item);
fr_Obj sys_Ptr_get_f(fr_Env env, fr_Ptr self, fr_Int index);
void sys_Array_make_f(fr_Env env, fr_Obj self, fr_Int size);
fr_Int sys_Array_size_f(fr_Env env, fr_Obj self);
fr_Obj sys_Array_get_f(fr_Env env, fr_Obj self, fr_Int pos);
void sys_Array_set_f(fr_Env env, fr_Obj self, fr_Int pos, fr_Obj val);
fr_Obj sys_Array_realloc_f(fr_Env env, fr_Obj array, fr_Int newSize);
void sys_Array_arraycopy_f(fr_Env env, fr_Obj src, fr_Int srcOffset, fr_Obj dest, fr_Int destOffset, fr_Int length);
void sys_Array_fill_f(fr_Env env, fr_Obj array, fr_Obj val, fr_Int times);
void sys_Array_finalize_f(fr_Env env, fr_Obj self);
fr_Int sys_NativeC_toId_f(fr_Env env, fr_Obj self);
fr_Obj sys_NativeC_typeName_f(fr_Env env, fr_Obj self);
void sys_NativeC_print_f(fr_Env env, fr_Obj utf8);
void sys_NativeC_printErr_f(fr_Env env, fr_Obj utf8);
fr_Obj sys_NativeC_stackTrace_f(fr_Env env);
fr_Float sys_Float_makeBits_f(fr_Env env, fr_Int bits);
fr_Float sys_Float_makeBits32_f(fr_Env env, fr_Int bits);
fr_Float sys_Float_fromStr_f(fr_Env env, fr_Obj s, fr_Bool checked);
fr_Float sys_Float_random_f(fr_Env env);
fr_Bool sys_Float_equals_f(fr_Env env, fr_Float self, fr_Obj obj);
fr_Bool sys_Float_isNaN_f(fr_Env env, fr_Float self);
fr_Float sys_Float_negate_f(fr_Env env, fr_Float self);
fr_Float sys_Float_mult_f(fr_Env env, fr_Float self, fr_Float b);
fr_Float sys_Float_multInt_f(fr_Env env, fr_Float self, fr_Int b);
fr_Float sys_Float_div_f(fr_Env env, fr_Float self, fr_Float b);
fr_Float sys_Float_divInt_f(fr_Env env, fr_Float self, fr_Int b);
fr_Float sys_Float_mod_f(fr_Env env, fr_Float self, fr_Float b);
fr_Float sys_Float_modInt_f(fr_Env env, fr_Float self, fr_Int b);
fr_Float sys_Float_plus_f(fr_Env env, fr_Float self, fr_Float b);
fr_Float sys_Float_plusInt_f(fr_Env env, fr_Float self, fr_Int b);
fr_Float sys_Float_minus_f(fr_Env env, fr_Float self, fr_Float b);
fr_Float sys_Float_minusInt_f(fr_Env env, fr_Float self, fr_Int b);
fr_Int sys_Float_bits_f(fr_Env env, fr_Float self);
fr_Int sys_Float_bits32_f(fr_Env env, fr_Float self);
fr_Obj sys_Float_toStr_f(fr_Env env, fr_Float self);
fr_Int sys_Float_toInt_f(fr_Env env, fr_Float self);
fr_Obj sys_Float_toLocale_f(fr_Env env, fr_Float self, fr_Obj pattern);
fr_Obj sys_Enum_doFromStr_f(fr_Env env, fr_Obj type, fr_Obj name, fr_Bool checked);

CF_END
